Methods and apparatus to monitor impressions of social media messages

ABSTRACT

Methods and apparatus are disclosed to monitor impressions of social media messages. An example method includes receiving at a server a request for media, the request addressed to a uniform resource locator, the request corresponding to a social media message to be presented with the media, and the request including a user identifier. The method also includes crediting the social media message with an impression based on the request being addressed to the uniform resource locator. The method also includes identifying that the impression corresponds to an original intended recipient of the social media message based on the user identifier matching a second user identifier stored in a list of subscribers that subscribe to receive messages from an original sender of the social media message.

FIELD OF THE DISCLOSURE

This disclosure relates generally to audience measurement, and, moreparticularly, to methods and apparatus to monitor impressions of socialmedia messages.

BACKGROUND

Online social messaging services enable users to send social mediamessages to many users at once. In some examples, such social mediamessages are used to disseminate advertisements to a mass audience.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an example environment in which examplesdisclosed herein may be implemented to monitor impressions of socialmedia messages.

FIG. 2 illustrates an example social message tracker that may be used tolog impressions for social media messages.

FIG. 3 illustrates an example table that may be used to mapcorresponding uniform resource locators, social media messages, andmedia files.

FIG. 4 is an example communication flow diagram illustrating monitoringof impressions of social media messages in the example environment ofFIG. 1.

FIG. 5 is another example communication flow diagram illustratingmonitoring of impressions of social media messages in the exampleenvironment of FIG. 1.

FIG. 6 is a flowchart representative of example machine readableinstructions that may be executed to log an impression for a socialmedia message.

FIG. 7 is a flowchart representative of example machine readableinstructions that may be executed to determine an effectiveness of amedia campaign.

FIG. 8 is an example communication flow diagram illustrating monitoringof impressions of social media messages in the example environment ofFIG. 1.

FIG. 9 is another example communication flow diagram illustratingmonitoring of impressions of social media messages in the exampleenvironment of FIG. 1.

FIG. 10 is a flowchart representative of example machine readableinstructions that may be executed to log an earned media impression fora social media message.

FIG. 11 is a block diagram of an example processor platform capable ofexecuting the example machine readable instructions of FIGS. 6, 7 and 10to implement the example social message tracker of FIG. 2.

DETAILED DESCRIPTION

Social messaging has become a widely used medium in which usersdisseminate and receive information. Online social messaging services(such as Facebook or Twitter) enable users to send social media messagesor instant messages to many users at once. A social media message mayinclude links (e.g., uniform resource locators (URLs)) to contentavailable on the Internet. A browser or messaging client retrieves theexternal content of the social media message by following the links(e.g., by sending a hypertext transfer protocol (HTTP) request to a URLspecified in the message). The content retrieved by the URL(s) mayinclude one or more different types of media such as text, images, audioand/or video. The message is constructed from the retrieved content andis then displayed by a client device. Some social messaging servicesenable users to “follow” other users (e.g., subscribe to receivemessages sent by select users (e.g., via the Twitter® service)). Forexample, a user following (or subscribed to) a celebrity in the Twitter®service may receive indications via a client application (e.g., theTweetDeck® client application or any other social media messaging clientapplication) executing on a client device when the celebrity sends orposts a social media message.

Social media messages may be used to convey many different types ofinformation. In some examples, sponsored social media messages are usedto convey information about a product or service. For example, a messagesender may convey a social media message indicating that the messagesender is eating at a certain restaurant. In other examples, socialmedia messages are used to disseminate advertisements to a massaudience. For example, a sponsored social media message is a socialmedia message for which a person (e.g., a celebrity or other person whois well known in the general population and/or well known within one ormore sub-populations) is paid to send. Such sponsored social mediamessages are sent to followers and advertise, endorse, or otherwiseconvey a message in support of a product, a service, a company, etc. ofthe person or entity paying (or sponsoring) the message sender to sendthe sponsored social media message.

Monitoring impressions of advertisements, endorsements, or othermessages delivered via social media messages is useful for generatingimpression statistics (e.g., reach and/or frequency) of theadvertisements, endorsements, and/or other messages. In some examplesdisclosed herein, monitored social media messages are configured to berendered (e.g., displayed or otherwise presented) with media (e.g.,visual images, video, audio, text, etc.) and/or links (e.g., URLs) tosuch media that is served by one or more servers. End user devicesreconstruct social media messages for presentation to users byretrieving the external media components from one or more servers.Examples disclosed herein monitor impressions to social media messagesby tracking when media is requested (e.g., via one or more HTTP requestmessages) from server(s). To track such network requests for media fromclient devices (e.g., end user devices), an audience measurement entity(AME) server is used in disclosed examples to host the media, and toserve the media to the requesting client device(s). To detect instancesof rendered social media messages, a different uniform resource locator(URL) is assigned to different social media messages (or component(s)thereof). When a client device receives a social media message sent by amessage sender, the client device will send one or more requests to theAME server for corresponding media using the URL (uniform resourcelocator) assigned to the media. The AME server increments acorresponding counter every time it serves media for a corresponding oneof the URLs. In this manner, the AME server uses the assigned URL as aunique identifier to determine which social media message should becredited with an impression.

For example, if a manufacturer elects to be a sponsor of messages sentby a recording artist, the manufacturer (or sponsorer) enters into anagreement with the recording artist (e.g., a sender of one or moresponsored messages), in which the recording artist agrees to send one ormore different social media messages promoting the manufacturer and/orits products. If the manufacturer sponsors three distinct social mediamessages (e.g., messages A, B and C), the manufacturer may want tocompare the performances of the three social media messages (e.g.,messages A, B and C) to one another and/or to other social mediamessages and/or to an expected or desired performance (e.g., messagereach and/or frequency) of the three sponsored social media messages(e.g., messages A, B and C). In some examples, the AME server (or athird-party server contracted by the AME) hosts media that correspondsto an object (e.g., an avatar, text, audio or visual image) to bepresented with each of the three social media messages A, B and C. Insuch examples, the AME creates different URLs for use in retrieving themedia when the three different social media messages are being renderedby a client device. In such examples, the manufacturer assigns (e.g.,embeds) each of the URLs to a different, respective one of the threesocial media messages A, B and C. When the recording artist sendshis/her followers the social media messages A, B, C including theirrespective URLs, receiving user devices that open or otherwise accessthe message will retrieve the media using the corresponding URL embeddedin the message being accessed. In particular, the receiving devices(e.g., client devices) send HTTP requests for the media using the URLsreceived in the social media messages. When the AME server receives arequest for the media, it identifies which URL is being used to make therequest and awards an impression credit to a corresponding one of thesocial media messages (e.g., by incrementing a corresponding counter)based on the identified URL. In this manner, as the AME server credits(or logs) impressions for respective ones of the URLs used for imagerequests. Because each URL is uniquely associated with a respective oneof the social media messages A, B or C, the URL logs/counts reflect thenumber of impressions of each respective message A, B or C. Theaggregate impression counts can then be used to track total impressions,reach, and/or frequency of impressions for each social media message A,B, C.

Examples disclosed herein may be used to measure audience exposureand/or interaction with advertisements, endorsements, and/or otherinformation in social media messages and/or similar services accessed byusers using service-specific applications (e.g., the TweetDeck®application) and/or web browsers. Service-specific applications (e.g.,client applications for the Twitter® service) may be used on mobiledevices (e.g., mobile phones, tablets, smart watches, etc.) or desktopcomputers and do not require use of a web browser. In some examples,techniques disclosed herein are particularly useful for non-web browseruser interfaces. For example, a user may access social media messagesvia a messaging client application installed on a mobile device or othercomputing device rather than through a web browser. Although examplesdisclosed herein are described in connection with non-browser basedmessaging client applications that render social media messages,disclosed techniques may also be used in connection with browser-basedinterfaces used to present social media messages. Media files referredto in hypertext markup language (HTML) documents or web pages are notnecessarily limited to visual images (e.g., files with file typeextensions such as .bmp, .gif, .jpg, etc.) and may be visual images,text, audio, moving pictures, static images, etc.

FIG. 1 is an illustration of an example environment 100 in whichexamples disclosed herein may be implemented to monitor impressions ofsocial media messages. The example environment 100 of FIG. 1 includes anaudience measurement entity (AME) server 102, a message hosting server104 and a client device 106. In some examples, the AME server 102 isimplemented using multiple devices and/or the message hosting server 104is implemented using multiple devices. For example, the AME server 102and/or the message hosting server 104 may include disk arrays ormultiple workstations (e.g., desktop computers, workstation servers,laptops, etc.) in communication with one another. In the illustratedexample, the AME server 102 is in communication with the message hostingserver 104 and/or the client device 106 via one or more wired and/orwireless networks represented by network 108. Example network 108 may beimplemented using any suitable wired and/or wireless network(s)including, for example, one or more data buses, one or more Local AreaNetworks (LANs), one or more wireless LANs, one or more cellularnetworks, the Internet, etc. As used herein, the phrase “incommunication,” including variances thereof, encompasses directcommunication and/or indirect communication through one or moreintermediary components and does not require direct physical (e.g.,wired) communication.

In the illustrated example, the client device 106 is used to receive,reconstruct and present social media messages. For example, a userfollowing a message sender (e.g., a celebrity) may desire to read allsocial media messages conveyed by the message sender. In some examples,the user executes a non-browser based application on the client device106 to request (e.g., via an HTTP request) from, for example, themessage hosting server 104, all social media messages conveyed by themessage sender. In some examples, the user signs in to a messagingservice via the application with a user identifier (e.g., an exampleuser identifier 124) in order to read and/or convey (or send) socialmedia messages. The example user identifier 124 is then associated withthe activities of the user. For example, requests to the message hostingserver 104 from the client device 106 may include the user identifier124. In some examples, the user identifier 124 of the message sender isdisplayed (or presented) along with the rendered social media message.

The client device 106 renders or reconstructs any social media messages(e.g., an example message (MSG) 114 a, 114 b) returned by the messagehosting server 104. In the example of FIG. 1, the messages 114 a and 114b are the same message at two different points in time. Message 114 a isthe message prior to being rendered on the client device 106. Message114 b is the message after rendering.

As described above, some social media messages may be sponsored. Somesuch social media messages may include only text. Some social mediamessages may include embedded media or links to external media inaddition to, or instead of, text. In the illustrated example, the clientdevice 106 requests and receives the example social media message 114 a,or the social media message 114 a is pushed to the client device 106 by,for example, the message hosting server 104. In the illustrated example,the client device 106 renders the message 114 b with corresponding textand an image 112. For example, the text may indicate that the celebrityenjoys a sponsor's product, or it may convey a slogan associated withthe product. The image may be a logo identifying the sponsor or product.In the illustrated example, the image 112 is an avatar image (e.g., alogo or other image accompanying a social media message) that isdisplayed along with the social media message 114 b. However, examplesdisclosed herein may be used in connection with other types of media insocial media messages including, for example, video, audio, text,streaming media, etc.

To enable tracking impressions of the social media message, the examplesocial media message 114 a of FIG. 1 includes a media placeholder 116rather than the image 112 itself when the social media message 114 a issent by the message hosting server 104. In the illustrated example, theAME server 102 hosts the image 112, and the media placeholder 116includes a uniform resource locator (URL) 118 usable to retrieve theimage 112 from the AME server 102. In the illustrated example, to renderthe social media message 114 a, the client device 106 sends a mediarequest 120 for the image 112 to, for example, the AME server 102. Inthe illustrated example, the media request 120 includes the URL 118 andthe user identifier 124 of the user. The user identifier 124 may includea handle, a screen name, a login or sign-on name, an email address, etc.In some examples, the AME server 102 uses the user identifier 124 totrack user exposure to messages. For example, the AME server 102 candifferentiate unique impressions from repeat exposures by checking ifmultiple media requests include the same user identifier 124. In someexamples, the media request 120 includes a device identifier. Forexample, the media request 120 may include a Media Access Control (MAC)address, an Internet Protocol (IP) address, etc. The example AME server102 may use the device identifier to track device exposures. The clientdevice 106 displays or presents the social media message 114 b and theimage 112 (in place of the placeholder 116) when the AME server 102serves or returns the image 112.

In the illustrated example, when a message sender (e.g., a celebrity)composes a social media message 122, that message 122 is sent to themessage hosting server 104. The example message hosting server 104 hostssocial media messages 122 that are subsequently sent to client devices,such as the example client device 106. In the illustrated example, themessage hosting server 104 hosts sponsored social media messages 122 aand non-sponsored social media messages 122 b. In the illustratedexample, sponsored social media messages 122 a stored at the messagehosting server 104 include a text portion and a media portion. Themessage hosting server 104 stores the text portion and correspondingmedia placeholders (e.g., similar to the media placeholder 116). As aresult, the message hosting server 104 conserves memory space by storingplaceholders for media rather than the media itself. In the illustratedexample, the message hosting server 104 serves sponsored social mediamessages 122 a and non-sponsored social media messages 122 b in the samemanner. For example, the message hosting server 104 processes a requestfor a social media message 122 similarly regardless of whether thesocial media message 122 is a sponsored social media message 122 a or anon-sponsored social media message 122 b. However, some social mediamessages (e.g., the social media messages 114 a and 122 a) include a URL(e.g., the URL 118) used by the AME server 102 to track impressions ofthe social media messages 114 a, 122 a.

In the illustrated example, the AME server 102 hosts media forpresenting with social media messages 114 a, 122 a. For example, the AMEserver 102 of the illustrated example includes a media database thatstores image files or other types of media files. Additionally oralternatively, the AME server 102 may be in communication with ageographically separate media database (e.g., a server of a third-partycontracted by the AME) that hosts the image or other media files. Insuch examples, the AME server 102 retrieves images files (or other mediafiles) from the separate media database to serve the media to therequesting devices. Alternatively, the separate media database may beprovided with a server to serve the hosted media directly to therequesting devices.

The example AME server 102 of the illustrated example operates to trackimpressions of social media messages 114 a and 122 a. For example, toreconstruct or render the social media message 114 a, the client device106 uses the URL 118 corresponding to the media placeholder 116 torequest the image 112. Thus, the AME server 102 receives the mediarequest 120 for the image 112 from the client device 106. Using the URL118 in the media request 120, the AME server 102 identifies the image112 and the corresponding social media message 114 a. The AME server 102serves the image 112 to the requesting device (e.g., the client device106). In addition, the AME server 102 credits (or logs) an impression ofthe social media message 114 a based on the received URL 118. In thismanner, the AME server 102 tracks total impressions and frequency ofimpressions for social media messages based on the URLs used by receivedmedia requests. In some examples, the URL may be for an element that isnot displayed (e.g., a clear pixel) and, thus, the image file returnedby the AME server 102 may not be seen by the end user but may stillfunction to identify the corresponding social media message.

In some examples, multiple, different URLs may correspond to the samemedia hosted at the AME server 102. In such examples, the AME server 102returns the same media when any of the associated media placeholder(s)is received. In some examples, a sponsor or advertiser may present thesame embedded media (e.g., a same logo or other identifying image ormedia) across multiple sponsored social media messages to createuniformity and common identity across the multiple social mediamessages. Although media may be the same across multiple sponsoredsocial media messages that are sent, assigning different URLs for theembedded media to the different messages as disclosed herein enables theAME server 102 to identify which social media message(s) to credit withimpression(s) when media request(s) are received using different URLs.For example, an advertiser may produce an advertising campaign withthree different social media messages A, B and C. Each of the threedifferent social media messages A, B, C may include a unique mediaplaceholder, but each of the three media placeholders may be associatedwith the same image, such as a logo of the sponsor. While theillustrated example describes one image associated with three differentURLs, it is also possible for a single image to be associated with anynumber of URLs. For example, a sponsor celebrating its 100^(th)anniversary may have multiple different social media messages withdifferent slogans and/or logos from the past. As a result, one image maybe associated with one or more different URLs. In such examples, each ofthree different social media messages A, B and C sent by the same ordifferent senders may be assigned a different image or media with acorresponding different URL. In other examples, the social media messagemay be sent through multiple, different spokespersons (Celebrity A,Celebrity B and Person C). The same media/image can be used by eachspokesperson but the media of each message is retrieved by a differentURL to enable tracking the effectiveness of different spokespersons.

In the illustrated example, the AME server 102 also hosts lists of userswho follow (or subscribe to) corresponding sponsored message senders. Inthe illustrated example, the AME server 102 compares a user identifierincluded with a media request to user identifiers listed in one or morelists of followers (e.g., an example list of followers 228 of FIG. 2) todifferentiate between expected (or anticipated) impressions (e.g.,impressions from people listed as followers) and unexpected impressions(e.g., impressions from people not listed as followers). For example, amessage sender (e.g., a celebrity) may have 200,000 followers (e.g.,original intended recipients of a message). Thus, when the sponsorcontracts with the message sender to convey social media messages, thesponsor expects or anticipates at least those 200,000 followers to beexposed to the social media message conveyed by the message sender. Inother words, the sponsor has paid for at least 200,000 impressions forthe social media message. In some examples, these 200,000 impressionsare referred to as unearned media impressions because they are expectedimpressions. However, the AME server 102 logs an unexpected impressionwhen a user who does not follow the sponsored message sender (e.g.,somebody not included in the 200,000 followers) receives the socialmedia message. For example, the social media message sent by thesponsored message sender (e.g., the celebrity) may be forwarded (e.g.,re-posted, re-sent, re-conveyed, retweeted, etc.) to other persons thatare not followers of the original message sender, or were not intendedrecipients of the original message. These unexpected impressions maysometimes be referred to as earned media impressions because they extendbeyond the original intended recipients of the message. The reach of thesocial media message can then be determined by comparing the earnedmedia impressions with the unearned media impressions.

FIG. 2 illustrates an example social message tracker 200 that may beused to log impressions for social media messages (e.g., the messages114 a and 122 a of FIG. 1). In the illustrated example, the socialmessage tracker 200 includes an example external interface 202, anexample URL analyzer 204, an example media provider 206, an exampleimpression logger 208 and an example handle analyzer 214. In theillustrated example, the social message tracker 200 is in communicationwith an example storage device 210 to store media. In some examples, thesocial message tracker 200 is in communication with the storage device210 via one or more networks and/or local communication interfaces. Insome examples, the storage device 210 is local to the social messagetracker 200 and/or integrated therein. In some examples, the socialmessage tracker 200 is included in the audience measurement entity (AME)102 of FIG. 1. In other examples, the social message tracker 200 isseparate from the AME server 102 and in communication with the AMEserver 102 via, for example, the Internet and/or a local network.

While an example manner of implementing the social message tracker 200is illustrated in FIG. 2, one or more of the elements, processes and/ordevices illustrated in FIG. 2 may be combined, divided, re-arranged,omitted, eliminated and/or implemented in any other way. Further, theexample external interface 202, the example URL analyzer 204, theexample media provider 206, the example impression logger 208, theexample storage device 210, the example message queue 212, the examplehandle analyzer 214 and/or, more generally, the example social messagetracker 200 of FIG. 2 may be implemented by hardware, software, firmwareand/or any combination of hardware, software and/or firmware. Thus, forexample, any of the example external interface 202, the example URLanalyzer 204, the example media provider 206, the example impressionlogger 208, the example storage device 210, the example message queue212, the example handle analyzer 214 and/or, more generally, the examplesocial message tracker 200 of FIG. 2 could be implemented by one or morecircuit(s), programmable processor(s), application specific integratedcircuit(s) (ASIC(s)), programmable logic device(s) (PLD(s)) and/or fieldprogrammable logic device(s) (FPLD(s)), etc. When reading any of theapparatus or system claims of this patent to cover a purely softwareand/or firmware implementation, at least one of the example externalinterface 202, the example URL analyzer 204, the example media provider206, the example impression logger 208, the example storage device 210,the example message queue 212 and/or the example handle analyzer 214 arehereby expressly defined to include a tangible computer readable storagedevice or storage disk such as a memory, DVD, CD, Blu-ray, etc. storingthe software and/or firmware. Further still, the example social messagetracker 200 of FIG. 2 may include one or more elements, processes and/ordevices in addition to, or instead of, those illustrated in FIG. 2,and/or may include more than one of any or all of the illustratedelements, processes and devices.

In the illustrated example, the social message tracker 200 is providedwith the external interface 202 to exchange communications with clientdevices (e.g., the client device 106 of FIG. 1). For example, theexternal interface 202 receives the media request 120 (FIG. 1) from theexample client device 106 (FIG. 1), and provides the media request 120to the URL analyzer 204. In some examples, the external interface 202may perform additional processing to provide information to the URLanalyzer 204. For example, the media request 120 received by theexternal interface 202 may be encoded using a different protocol (e.g.,HTTP, simple object access protocol (SOAP), etc.) than what the URLanalyzer 204 is configured to process. In some such examples, theexternal interface 202 decodes or translates the received media request120 before providing the media request 120 to the URL analyzer 204. Inthe illustrated example, the example external interface 202 is alsoprovided to send the requested media (e.g., the image 112 of FIG. 1) tothe requesting device (e.g., the example client device 106) when themedia is identified by the URL analyzer 204 as described below.

In the illustrated example, the URL analyzer 204 analyzes the URL 118(FIG. 1) in the media request 120 (FIG. 1) received from the externalinterface 202. Using the URL 118, the URL analyzer 204 determines thatthe media request 120 corresponds to a particular sponsored social mediamessage (e.g., message 114 a, 122 a). The example URL analyzer 204 alsodetermines the message sender that corresponds to the social mediamessage. In some examples, the URL analyzer 204 may use a lookup tableto determine the social media message (e.g., message 114 a, 122 a) andthe message sender to which the media request 120 corresponds. However,other methods to determine that the received media request 120 arisesfrom an impression of a specific sponsored social media message (e.g.,message 114 a, 122 a) at a user device (e.g., the client device 106) mayadditionally or alternatively be used. In illustrated examples disclosedherein, the URL analyzer 204 also uses the URL 118 to determine whichmedia (e.g., the image 112 of FIG. 1) is being requested by the mediarequest 120. In other examples, the media request 120 may include otherinformation (e.g., one or more image identifiers, one or more imagefilenames, etc.) specifying the media (e.g., the image 112) beingrequested by the media request 120. An example lookup table datastructure that may be used by the URL analyzer 204 to identify therequested image 112 is described below in connection with FIG. 3. Insome examples, the URL analyzer 204 includes an example message queue212 to store the message requests as they are received from the exampleexternal interface 202. In some examples, the URL analyzer 204 analyzesthe message requests stored in the message queue 212 in the same orderreceived from the external interface 202 (e.g., first-in, first-out).

To provide media (e.g., image files, visual images, audio, text, etc.)in response to requests from client devices, the example social messagetracker 200 is provided with the media provider 206. In the illustratedexample, the media provider 206 receives a media identifier from theexample URL analyzer 204 and/or analyzes information in the mediarequest 120 specifying media (e.g., the image 112) being requested. Theexample media provider 206 uses the media identifier and/or otherinformation (e.g., an image identifier, an image filename, etc.) fromthe media request 120 to locate the requested media in a media database(e.g., stored in the example storage device 210). In some examples, thestorage device 210 is separate from but local to the example socialmessage tracker 200 (e.g., in communication with the media provider 206via local interfaces such as Universal Serial Bus (USB), FireWire, SmallComputer System Interface (SCSI), etc.). In other examples, the storagedevice 210 is located at an off-site location and communicates with themedia provider 206 over long distances via, for example, Ethernet,internet Small Computer System Interface (iSCSI), optical and/or fiberchannels, etc. In some examples, the requested media may be hosted on athird-party server or network. For example, the requested media may behosted on a content delivery network. The example media provider 206then provides the requested media to the example external interface 202.

In the illustrated example of FIG. 2, the handle analyzer 214 determineswhether to credit an impression to a social media message as an earnedmedia impression or an unearned media impression based on the mediarequest 120 from the external interface 202 and information from the URLanalyzer 204. For example, the URL analyzer 204 may send a message tothe handle analyzer 214 indicating the message sender (e.g., celebrity)corresponding to the social media message. In the illustrated example,the handle analyzer 214 compares the user identifier 124 from the mediarequest 120 to a list of followers 228 (e.g., the Celebrity_D followerslist 505 of FIG. 5) of the message sender (e.g., celebrity). In theillustrated examples, lists of followers are lists of subscribers thatsubscribe to receive messages from a particular sender. Such subscribersare sometimes referred to as followers in the Twitter® social messagingservice. Although examples disclosed herein are described in connectionwith lists of followers, disclosed examples may additionally oralternatively be implemented using other types of message subscribers.Another example of message subscribers is an email subscriber list or anemail recipient list of persons that subscribe to receiving emailmessages from particular original senders of emails directed tosubscribers of email subscriber lists.

In the illustrated example, the list of followers 228 of the sponsoredmessage sender is a list of user identifiers (e.g., including the useridentifier 124 of FIG. 1) of original intended recipients of messagessent by the message sender. In the illustrated example, the list offollowers 228 (or list of user identifiers) is stored in a lookup tablein the storage device 210. However, other methods to determine whetherthe media request 120 corresponds to an original social media message ora forwarded social media message may additionally or alternatively beused.

In the illustrated example, the impression logger 208 credits (or logs)impressions to social media messages based on indications received fromthe URL analyzer 204 and the handle analyzer 214. For example, the URLanalyzer 204 may send a message to the impression logger 208 instructingthe impression logger 208 to increment a specific counter 208 a, 208 b,or 208 n of a corresponding identified social media message. The messagemay reference the counter to be incremented in any desired (or suitable)fashion (e.g., by sending an address of the counter). Alternatively, theURL analyzer 204 may simply list the corresponding URL in a datastructure or it may tabulate all the URLs in a single data structurewith corresponding memory addresses of the counters to be incrementedfor each URL. In some examples, the impression logger 208 appends and/orprepends additional information to logged impression entries whilecrediting social media messages. In some examples, the impression logger208 stores a message identifier 222 (e.g., a message ID) with the loggedimpression entries to identify the example social media message. In someexamples, the impression logger 208 stores a timestamp 216 with thelogged impression entries indicating the dates and/or times the examplesocial message tracker 200 received requests for corresponding media. Insome examples, the impression logger 208 stores a campaign identifier218 (e.g., a campaign ID) with the logged impression entries identifyingadvertising campaigns of corresponding social media messages. In someexamples, the impression logger 208 stores a forwarded messageidentifier 224 (e.g., a forwarded ID) with the logged impression entriesindicating whether the impression corresponds to an expected mediaimpression or an unexpected media impression. For example, theimpression logger 208 may append an indication from the handle analyzer214. For example, the forwarded message identifier 224 may berepresented by a bit or a flag. In some examples, the impression logger208 stores a user identifier 226 with the logged impression entries tostore user identifiers (e.g., the user identifier 124 of FIG. 1) ofmessage recipients, regardless of whether the recipients are originalintended recipients (e.g., followers of the original sender) orrecipients that received messages as forwarded messages. In someexamples, the impression logger 208 periodically and/or aperiodicallycommunicates the aggregate impression counts for each social mediamessage to a corresponding sponsor. Thus, the sponsor may use theaggregate impression counts to track total impressions and/or frequencyof impressions for each sponsored social media message.

In some examples, information regarding the user is collected from therequesting client device (e.g., the example client device 106 of FIG. 1)via, for example, media requests (e.g., the media request 120 of FIG.1). In some examples, this information is used to develop demographic(or census) information regarding the users of client devices requestingthe sponsored social media messages. For example, when a client devicerequests media from the AME server 102, the client device includes adevice identifier 220 such as an IP address in the media request so thatthe requested media is served back to the requesting client device. Fordevices with static public IP addresses, the IP address can be used toretrieve demographic information in examples in which such users havepreviously provided such demographic information. For example, users mayagree to participate in market research panels or audience memberpanels, and provide demographic information that the AME stores inassociation with public IP addresses of those users. In some instances,a mobile device such as the example client device 106 changes IPaddresses several times throughout the day. As a result, the IP addressmay not be used, in such instances, to identify the exact user. However,the IP address can be used to identify general geographic locations ofthe user. Thus, an analysis of the logged impressions may indicate thatcertain social media messages are more effective in reaching more peoplein certain parts of the country than in others. In addition, the loggedimpressions may indicate that users of client devices in certain citiesare more responsive to social media messages conveyed by some messagessenders and not others. In some examples, the device identifier 220 mayadditionally or alternatively identify what kind of a device isrequesting the media. Other demographic information regarding the clientdevice or the user may also be gathered using any other suitableinformation included in a message request.

In some examples, a client device may include a full-capabilities webbrowser. Such web browsers enable cookies (e.g., HTTP cookies, webcookies, browser cookies, etc.) to be downloaded by the client device.These cookies may then gather information about the user as the usercontinues to browse the Internet via the web browser. For example, acookie may be used to store information regarding which web pages wereaccessed, how often these pages were accessed, whether the user engagesis a login process or is still logged in, etc. In some examples, thecookies are periodically or aperiodically transmitted to the AME server102. In some examples, the AME server 102 may map the cookies todemographic information of the user and/or other information identifyingthe user. For example, the cookies may be mapped to census informationincluding the demographics of the users.

In some examples, the requested media may be hosted by a third-party.For example, the requested media file may be hosted on a contentdelivery network. In such a network, media files are distributed amongstseveral local nodes connected by the content delivery network. In somesuch examples, the AME server 102 periodically or aperiodicallyretrieves impressions logs from the content delivery network.

FIG. 3 illustrates an example data structure 300 that maps URLs, socialmedia messages and media. In the illustrated example, each URLcorresponds to a different, respective social media message. Forexample, an example URL (URL_X) 118 (e.g., the example URL 118 ofFIG. 1) corresponds to an example message (Message_X) 114 a (e.g., theexample message 114 a, 114 b of FIG. 1), an example URL (URL_Y) 304corresponds to an example message (Message_Y) 316, etc. However, in theillustrated example, multiple URLs in the data structure 300 correspondto a same media (e.g., a same image file, a same audio file, a samevisual image file, etc.). For example, an example image (Image_(—)1) 112(e.g., the example image 112 of FIG. 1) corresponds to all of the URL(URL_X) 118, the URL (URL_Y) 304 and an example URL (URL_Z) 306. In theillustrated example, an example URL (URL_Q) 308, an example URL (URL_R)310, and an example URL (URL_S) 312 correspond to an example image(Image_(—)2) 328. However, each of the URLs 308, 310 and 312 correspondsto a different social media message (e.g., an example message(Message_Q) 320, an example message (Message_R) 322 or an examplemessage (Message_S) 324). In the illustrated example, an example URL(URL_L) 330, an example URL (URL_M) 332, and example URL (URL_N) 334correspond to an example audio file denoted as Audio_(—)1 342. However,each of the URLs 330, 332 and 334 corresponds to a different socialmedia message (e.g., an example message (Message_L) 336, an examplemessage (Message_M) 338 or an example message (Message_N) 340). In theillustrated example, the URL analyzer 204 (FIG. 2) uses the URL 118 fora received media request (e.g., the media request 120 of FIG. 1) toinform the example media provider 206 (FIG. 2) of the correspondingimage 112. In addition, the URL analyzer 204 informs the exampleimpression logger 208 (FIG. 2) of the sponsored social media message 114a to credit with an impression based on the message 114 a beingassociated with the URL 118 in the data structure 300.

In some examples, copies of the sponsored media may be stored in theexample data storage 210, and each copy of the sponsored mediacorresponds to a different filename. For example, an example video file(Video_(—)1) 360, an example video file (Video_(—)2) 362 and an examplevideo file (Video_(—)3) 364 may all correspond to the same video file(e.g., they may all be copies of the same video file), but be stored inthe example storage device 210 with different filenames. In otherexamples, each of the videos 360, 362 and 364 may correspond todifferent video files. For example, the video (Video_(—)1) 360 may be avideo of an example sender (Celebrity_G) 366 drinking a sponsor'sbeverage and the video (Video_(—)2) 362 and video (Video_(—)3) 364 maybe two different videos of an example sender (Celebrity_H) 368 drinkingthe sponsor's beverage. Any suitable URL format may be used todistinguish the URLs from one another when used by a client device torequest media. For example, the URLs 118, 304, 306, 308, 310, 312, 330,332, 334, 348, 350, 352 may be stored in the data structure 300 as shortURLs (e.g., http://a.me/vid1.mov) or any other URL format (e.g.,http://www.amesite.com/vid1.mov). Storing the URLs as short URLs may bebeneficial in minimizing the storage space used in the example datastructure 300. In some examples, different media filenames in the URLsmay be used to distinguish between different corresponding mediamessages. For example, a URL “http://www.amesite.com/vid-1.mov” may beused for the URL (URL_O) 348 corresponding to the message (Message_T)354, a URL “http://www.amesite.com/vid-2.mov” may be used for the URL(URL_P) 350 corresponding to the message (Message_U) 356, and a URL“http://www.amesite.com/vid-3.mov” may be used for the URL (URL_Q) 352corresponding to the message (Message_W) 358. In such examples, thevid-1.mov filename corresponds to the video file (Video_(—)1) 360, thevid-2.mov filename corresponds to the video file (Video_(—)2) 362, andthe vid-3.mov filename corresponds to the video file (Video_(—)3) 364.In some examples, the video files 360, 362, 364 may be copies of thesame video. Alternatively, the video files 360, 362, 364 may bedifferent videos. Other sponsored media and media filename combinationsmay additionally or alternatively be used.

In the illustrated example of FIG. 3, each URL corresponds to one ormore message senders (A, B, C, D, E, F, G, and H). For example, the URL(URL_X) 118, the URL (URL_Y) 304 and the URL (URL_Z) 306 each correspondto an example sender (Celebrity_D) 504, the URL (URL_Q) corresponds toan example sender (Celebrity_A) 404, the URL (URL_L) 330 and the URL(URL_M) 332 correspond to an example sender (Person_E) 344, etc. In someexamples, the URL analyzer 204 may send a message to the impressionlogger 208 instructing the impression logger 208 to increment a countercorresponding to a specific message sender. The message may referencethe counter to be incremented in any desired (or suitable) fashion. Insome examples, the counter may indicate cumulative impressions creditedto social media messages corresponding to a message sender. For example,the URL analyzer 204 uses any of the URL (URL_X) 118, the URL (URL_Y)304 and/or the URL (URL_Z) 306 from a received media request (e.g., themedia request 120 of FIG. 1) to inform the example impression logger 208to increment a counter corresponding to the sender (Celebrity_D) 504.

FIG. 8 is an example communication flow diagram to monitor impressionsof social media messages in the example environment 100 of FIG. 1. Inthe illustrated example, the example AME server 102 provides URLs 308,310 and 312 to an example sponsor 402 for assigning to social mediamessages. For example, the AME server 102 provides the sponsor 402 theexample URL (URL_Q) 308 to include in the example social media message(Message_Q) 320, the example URL (URL_R) 310 to include in the examplesocial media message (Message_R) 322, and the example URL (URL_S) 312 toinclude in the example social media message (Message_S) 324. In theillustrated example, the example sponsor 402 is a party that enters intoagreement(s) with one or more message senders (e.g., celebrities orother well-known individuals, personalities, or entities, real orfictitious) to send social media messages (e.g., the social mediamessages 320, 322, 324) promoting or endorsing the sponsor, or productsor services of the sponsor. In this manner, the example sponsor 402hopes to increase exposure to or awareness for a sponsor, a productand/or a service when a contracted sender sends a sponsored social mediamessage.

In the illustrated example, the AME server 102 generates a URL that islater encoded in a social media message generated by the sponsor 402and/or the senders 404, 406, 408. Based on the preferences of theexample sponsor 402, the example AME server 102 generates a URL thatachieves the goals of the sponsor 402. The AME server 102 generates URLsidentifying corresponding media provided by the AME server 102, and thatuniquely identify corresponding social media messages. In theillustrated example, the sponsor 402 identifies the three example socialmedia messages Q 320, R 322 and S 324 to track. According to thepreferences of the sponsor 402, each of the social media messages (Q320, R 322 and S 324) when rendered, is to include externally locatedmedia (e.g., the example image (Image_(—)2) 328 of FIG. 3). Thus, theexample AME server 102 generates the example URL (URL_Q) 308, theexample URL (URL_R) 310 and the example URL (URL_S) 312, each of whichcorresponds to the example image (Image_(—)2) 238. Additionally, each ofthe generated URLs Q 308, R 310 and S 312 corresponds to a differentsocial media message. In the illustrated example, the URL (URL_Q) 308corresponds to the example message (Message_Q) 320, the example URL(URL_R) 310 corresponds to the example message (Message_R) 322, and theexample URL (URL_S) 312 corresponds to the example message (Message_S)324.

The generated URLs Q 308, R 310 and S 312 are then stored in a lookuptable, such as the example data structure 300, and used by the examplesocial message tracker 200 when crediting a social media message with animpression. In the illustrated example, the data structure 300 is storedin the example storage device 210 of FIG. 2.

In the illustrated example, the AME server 102 provides the generatedURLs (Q 308, R 310 and S 312) to the example sponsor 402 for locating inthe corresponding social media messages (Q 320, R 322 and S 324). In theillustrated example of FIG. 8, the sponsor 402 contracts with threedifferent message senders including the example sender (Celebrity_A)404, the example sender (Celebrity_B) 406 and the example sender(Person_C) 408 shown in the example data structure 300 of FIG. 3. Inaddition, the sponsor 402 provides each message sender 404, 406, 408with a different sponsored social media message (e.g., one of themessages 320, 322, 324) including a corresponding URL (e.g., acorresponding one of the URLs 308, 310, 312) to externally locatedmedia. For example, the sponsor 402 embeds the URL (URL_Q) 308 into thesocial media message (Message_Q) 320 and provides the sponsored message(Message_Q) 320 to the sender (Celebrity_A) 404.

In some examples, the AME server 102 generates the messages Q 320, R322, S 324 and embeds the URLs 308, 310, 312 into corresponding ones ofthe social media messages 320, 322, 324 and then provides the socialmedia messages 320, 322, 324 including the URLs 308, 310, 312 to thesponsor 402. In other examples, the sponsor 402 provides correspondingones of the URLs 308, 310, 312 to corresponding ones of the senders 404,406, 408, and each of the senders 404, 406, 408 generates acorresponding one of the messages 320, 322, 324 and locates its URL 308,310, 312 in the message 320, 322, 324. In other examples, the AME server102 may provide the URLs 308, 310, 312 and/or the social media messages320, 322, 324 to a third-party to further distribute or to convey thesponsored social media messages to other senders.

FIG. 4 is an example communication flow diagram to monitor impressionsof social media messages in the example environment 100 of FIG. 1. Inthe illustrated example of FIG. 4, the sponsor 402 contracts with threedifferent message senders including the example sender (Celebrity_A)404, the example sender (Celebrity_B) 406 and the example sender(Person_C) 408 shown in the data structure 300 of FIG. 3. In addition,the sponsor 402 provides each message sender 404, 406 and 408 with adifferent sponsored social media message. For example, the sponsor 402provides the sender (Celebrity_A) 404 with an example sponsored socialmedia message (Message_Q) 320, and provides the sender (Person_C) 408with an example sponsored social media message (Message_S) 324 as shownin FIG. 4 and in the data structure 300 of FIG. 3.

In the illustrated example, each social media message 320, 322 and 324is to be presented with a same image 328. In addition to or instead ofan image, social media messages may be presented with other media (e.g.,text, audio, video, etc.). Using the same media 328 as shown in theillustrated examples of FIGS. 3 and 4, the sponsor 402 can maintainbrand recognition across the different sponsored social media messages320, 322 and 324. For example, the image (Image_(—)2) 328 may be anemblem or logo that identifies the sponsor 402 and/or products orservices offered by the sponsor 402. In the illustrated example, thesponsor 402 desires to monitor impressions for the sponsored socialmedia messages 320, 322 and 324. In this manner, the sponsor 402 may usethe tracked impressions to determine, for example, which message sendersand/or which messages are more influential in promoting products orservices. Additionally, impression counts may be useful in identifyingthe effectiveness of certain advertising campaigns (e.g., by calculatingthe number of impressions per dollar spent).

In the illustrated example, when a message sender (e.g., the examplesender (Celebrity_A) 404, the example sender (Celebrity_B) 406 and/orthe example sender (Person_C) 408) sends a social media message (e.g.,the messages 320, 322 and/or 324), the example message hosting server104 receives, stores and distributes the social media message (e.g., tofollowers or subscribers of the senders 404, 406, 408).

In the illustrated example, the example client device 106 renders socialmedia messages received from the message hosting server 104 to displayor present to a user. The social media messages monitored in theillustrated examples (e.g., social media messages being monitored by theexample AME server 102) include links to externally located media 328(e.g., externally stored media referenced by a URL embedded in themessage). In the illustrated examples, the media 328 is retrieved by theclient device 106 and embedded into the social media message when thesocial media message is rendered at the client device 106. Some socialmedia messages may additionally include embedded media (e.g., images,text, audio, video, etc.) that is included in the message sent by themessage hosting server 104. In the illustrated example, a sponsoredsocial media message received by the client device 106 includes a mediaplaceholder having a URL corresponding to externally linked media. Forexample, the sponsored social media message (Message_Q) 320 includes anexample media placeholder 410 including an example URL (URL_Q) 308corresponding to the example image (Image_(—)2) 328. In the illustratedexample, the client device 106 requests and receives the image(Image_(—)2) 328 by sending an example media request 418 to a server URLspecified by the URL (URLQ) 308. In the illustrated example, the image(Image_(—)2) 328 is stored at the AME server 102 and the URL (URL_Q) 308directs the media request 418 to the AME server 102. In the illustratedexample, the media request 418 also includes a user identifier 422,which identifies the user requesting the media.

In the illustrated example, the AME server 102 includes the examplesocial message tracker 200 of FIG. 2 to monitor impressions of socialmedia messages. In the illustrated example of FIG. 4, the exampleexternal interface 202 of FIG. 2 receives the media requests for theimage 328. In the illustrated example, the social message tracker 200analyzes the URL (URL_Q) 308 using a data structure, such as the exampledata structure 300 of FIG. 3, to find a corresponding image and acorresponding social media message. For example, when the example URLanalyzer 204 of the social message tracker 200 receives a media requestaddressed to the example URL (URL_Q) 308, the URL analyzer 204 informsthe example media provider 206 of the corresponding image (Image_(—)2)328. In the illustrated example, the media provider 206 locates theexample image (Image_(—)2) 328 and retrieves the example image(Image_(—)2) 328 from a media database such as the storage device 210 ofFIGS. 2 and/or 4. In some examples, the media provider 206 and/or thestorage device 210 may not be included in the social message tracker 200and/or the AME server 102 of FIG. 4. In the illustrated example, theexample social message tracker 200 sends the example image (Image_(—)2)328 to the requesting device 106 via the external interface 202 in amedia response 419.

The example social message tracker 200 of the illustrated example alsouses the example data structure 300 of FIG. 3 to determine which socialmedia message to credit with an impression based on the received URL. Inthe illustrated example, the impression logger 208 of FIG. 2 credits theexample message (Message_Q) 320 with an impression based on anindication of the URL (URL_Q) 308 received from the URL analyzer 204 by,for example, incrementing a corresponding counter (e.g., one of thecounters 208 of FIG. 2). Using a similar process, the example impressionlogger 208 credits the message (Message_S) 324 with an impression basedon an indication of the URL (URL_S) 312 received from the URL analyzer204. In this manner, two different URLs (e.g., the example URL (URL_Q)308 and the example URL (URL_S) 312) map to the same media (e.g., theexample image (Image_(—)2) 328), but still contribute to crediting twodifferent social media messages (e.g., the example social media message(Message_Q) 320 and the example social media message (Message_S) 324)with an impression.

The example social message tracker 200 of the illustrated example alsouses the user identifier 422 to determine whether the impression is anexpected (e.g., unearned) media impression or an unexpected (e.g.,earned) media impression. In the illustrated example, the impressionlogger 208 of FIG. 2 stores a forwarded ID 224 (FIG. 2) with the entryfor the impression based on the handle analyzer 214 (FIG. 2) determiningthat the corresponding social media message was forwarded. For example,the handle analyzer 214 compares the user identifier 422 included in themedia request 418 to a list of followers of the sender (Celebrity_A) 440stored in, for example, a Celebrity_A followers data structure 405(e.g., an intended recipients data structure) stored in the storagedevice 210. Using a similar process, the example impression logger 208stores a forwarded ID 224 in the entry for the logged impression toindicate the social media message 324 as an expected media impression oran unexpected media impression based on whether the handle analyzer 214determines that the corresponding social media message was forwarded.

FIG. 5 is another example communication flow diagram to monitorimpressions of social media messages in the example environment 100 ofFIG. 1. In the illustrated example, an example sponsor 502 enters intoan agreement with a message sender to send social media messages. In theillustrated example, the message sender provides the AME server 102 alist of user identifiers (e.g., the list of followers 228 of FIG. 2)identifying users that follow the message sender. In some examples, theAME server 102 receives the list of user identifiers from the messagehosting server 104. In some examples, the AME server 102 receives thelist of user identifiers from a third-party server hosting the list ofuser identifiers. In the illustrated example of FIG. 5, the sponsor 502contracts with a message sender (e.g., an example sender (Celebrity_D)504 shown in FIG. 5 and in the data structure 300 of FIG. 3) to sendthree different social media messages (e.g., the example message(Message_X) 114 a, the example message (Message_Y) 316 and the examplemessage (Message_Z) 318). Each of the social media messages 114 a, 316and 318 includes a text portion and externally accessible linked media.For example, the message (Message_X) 114 a includes an automaticallyactivatable link to the image (Image_(—)1) 112. Also pursuant to theagreement in the illustrated example, the list of users that follow theexample message sender (Celebrity_D) 504 is provided to the AME server102. In the illustrated example, the list of user identifiers is storedas an example Celebrity_D followers list 505 in the storage device 210.In the illustrated example, the example sender (Celebrity_D) 504 sendsthe example message (Message_X) 114 a, the example message (Message_Y)316 and the example message (Message_Z) 318, which are received,stored/hosted and distributed by the example message hosting server 104.

In the illustrated example, the social media messages 114 a and 318 aresent from the message hosting server 104 to example client devices 106and 107 without the image (Image_(—)1) 112, but instead include anautomatically activatable link to the image 112. In the illustratedexample, the example message hosting server 104 sends to the clientdevice 106 the example message (Message_X) 114 a including an examplemedia placeholder 506 (including the example URL (URL_X) 118), and sendsto the example client device 107 the example message (Message_Z) 318including an example media placeholder 508 (including the example URL(URL_Z) 306).

In response to accessing the message (Message_X) 114 a, the clientdevice 106 sends an example media request 510 addressed to the exampleURL (URL_X) 118 and including a user identifier (e.g., a user identifier514) of the user of the client device 106, which directs the request 510to the example AME server 102 to request the image (Image_(—)1) 112. Ina similar manner, in response to accessing the message (Message_Z) 318,the client device 107 sends an example media request 512 addressed tothe example URL (URL_Z) 306 and including an example user identifier 516of the user of the client device 107, which directs the media request512 to the example AME server 102 requesting the same image (Image_(—)1)112.

In the illustrated example, the external interface 202 of FIG. 2receives media requests from client devices requesting media to bepresented with social media messages. In the illustrated example, thesocial message tracker 200 identifies images and social media messagescorresponding to the URLs to which media requests are addressed. Forexample, the social message tracker 200 may use the example datastructure 300 of FIG. 3 to determine a requested image and a socialmedia message corresponding to a URL to which a received media requestwas addressed. For example, the social message tracker 200 looks up thecorresponding social media message (Message_X) 114 a for the URL (URL_X)118, and looks up the corresponding social media message (Message_Z) 318for the URL (URL_Z) 306. As a result, the social message tracker 200credits the messages 114 a and 318 with corresponding impressions by,for example, incrementing a corresponding counter (e.g., one of thecounters 208 of FIG. 2). In this manner, the AME server 102 collectsimpressions of social media messages. In the illustrated example, thesocial message tracker 200 also stores a forwarded ID 224 in the entryfor the impression to the social media message to indicate that theimpression is an expected media impression or an unexpected mediaimpression as determined by the handle analyzer 214 of FIG. 2.

In the illustrated example, after determining that the media request 510is requesting the image 112 based on being addressed to the URL 118, thesocial message tracker 200 sends the requested image (Image_(—)1) 112 tothe example client device 106 to render the social media message(Message_X) 114. Similarly, the social message tracker 200 selects theimage 112 for the client device 107 based on the media request 512 beingaddressed to the URL (URL_Z) 306, and sends the image 112 to the exampleclient device 107 to render the social media message (Message_Z) 318.

Flowchart representative of example machine readable instructions forimplementing the social message tracker 200 of FIG. 2 are shown in FIGS.6, 7 and 10. In this example, the machine readable instructions compriseprograms for execution by a processor such as the processor 1112 shownin the example processor platform 1100 discussed below in connectionwith FIG. 11. The programs may be embodied in software stored on atangible computer readable storage medium such as a CD-ROM, a floppydisk, a hard drive, a digital versatile disk (DVD), a Blu-ray disk, or amemory associated with the processor 1112, but the entire program and/orparts thereof could alternatively be executed by a device other than theprocessor 1112 and/or embodied in firmware or dedicated hardware.Further, although the example programs are described with reference tothe flowcharts illustrated in FIGS. 6, 7 and 10, many other methods ofimplementing the social message tracker 200 of FIG. 2 may alternativelybe used. For example, the order of execution of the blocks may bechanged, and/or some of the blocks described may be changed, eliminated,or combined.

As mentioned above, the example processes of FIGS. 6, 7 and 10 may beimplemented using coded instructions (e.g., computer and/or machinereadable instructions) stored on a tangible computer readable storagemedium such as a hard disk drive, a flash memory, a read-only memory(ROM), a compact disk (CD), a digital versatile disk (DVD), a cache, arandom-access memory (RAM) and/or any other storage device or storagedisk in which information is stored for any duration (e.g., for extendedtime periods, permanently, for brief instances, for temporarilybuffering, and/or for caching of the information). As used herein, theterm tangible computer readable storage medium is expressly defined toinclude any type of computer readable storage device and/or storage diskand to exclude propagating signals. As used herein, “tangible computerreadable storage medium” and “tangible machine readable storage medium”are used interchangeably. Additionally or alternatively, the exampleprocesses of FIGS. 6, 7 and 10 may be implemented using codedinstructions (e.g., computer and/or machine readable instructions)stored on a non-transitory computer and/or machine readable medium suchas a hard disk drive, a flash memory, a read-only memory, a compactdisk, a digital versatile disk, a cache, a random-access memory and/orany other storage device or storage disk in which information is storedfor any duration (e.g., for extended time periods, permanently, forbrief instances, for temporarily buffering, and/or for caching of theinformation). As used herein, the term non-transitory computer readablemedium is expressly defined to include any type of computer readabledevice or disk and to exclude propagating signals. As used herein, whenthe phrase “at least” is used as the transition term in a preamble of aclaim, it is open-ended in the same manner as the term “comprising” isopen ended.

The program of FIG. 6 begins at block 602 at which the example externalinterface 202 (FIG. 2) receives a media request. For example, theexternal interface 202 receives the example media request 120 (FIG. 1)(including the example URL 118) sent by the client device 106 (FIG. 1)to the example AME server 102 (FIG. 1) requesting the example image 112(FIG. 1).

At block 604, the social message tracker 200 identifies the requestedmedia. For example, the example URL analyzer 204 (FIG. 2) looks up therequested media based on the received URL 118 using the data structure300 (FIG. 3), and forwards the media (e.g., the image 112 or anindication thereof) to the example media provider 206.

At block 606, the social message tracker 200 credits a social mediamessage corresponding to the URL with an impression. For example, theexample URL analyzer 204 identifies the example message 114 a based onthe URL 118 using the data structure 300, and informs the exampleimpression logger 208 (FIG. 2) to credit the message 114 a with animpression. In some examples, the impression logger 208 logs an entrywhen crediting (or logging) a social media message with an impression.In some such examples, the impression logger 208 may add additionalinformation to the entry. For example, the impression logger 208 mayinclude a timestamp, a device identifier included in the media request,and/or any other information that may provide additional informationregarding the impression.

At block 608, the social message tracker 200 sends the requested mediato the requesting device. For example, the media provider 206 receivesthe image 112 from the URL analyzer 204 or retrieves the image 112 fromthe example storage device 210, and the social message tracker 200 sendsthe image 112 to the client device 106 at block 608. At block 610, thesocial message tracker 200 determines whether there is another mediarequest to process. For example, the example URL analyzer 204 determineswhether there is another media request stored in the example messagequeue 212 (FIG. 2). If the example URL analyzer 204 determines there isanother media request in the message queue 212, control returns to block604. If the example URL analyzer 204 determines there is not another URLin the message queue, the example process 600 ends.

The program of FIG. 7 begins at block 702 at which the example AMEserver 102 (FIG. 1) receives a request to determine the effectiveness ofa media campaign (e.g., a messaging campaign, an advertising campaign, apromotional campaign, etc.). For example, the example AME server 102receives a request from the example sponsor 402 (FIG. 4) to determinethe effectiveness of their media campaign including social mediamessages Q 320, R 322, S 324. In some examples, the request is receivedperiodically, aperiodically and/or event-driven. Although not shown inFIG. 7, to track impressions of social media messages, the AME server102 may use techniques disclosed herein to associate URLs with socialmedia messages and media at the AME server 102.

At block 704, the example impression logger 208 (FIG. 2) tallies thenumber of impressions for the relevant social media messages (e.g., theexample message (Message_Q) 320, the example message (Message_R) 322 andthe example message (Message_S) 324). For example, the AME server 102tallies impressions based on received media requests as disclosedherein. The impressions may be tallied in any desired (or suitable)fashion based on different metrics. For example, the example impressionlogger 208 tallies the number of impressions according to the differentsocial media messages specified by the sponsor 402. In such examples,the example sponsor 402 compares the cumulative impression numbers foreach social media message (Q 320, R 322, S 324) to determine theeffectiveness of each of the social media message (block 706).

In some examples, at block 704, the example impression logger 208tallies the number of impressions according to the forwarded ID 224stored with the impression entries. In such examples, the effectivenessof the media campaign can be based on a comparison, at block 706, of thetotal number of expected media impressions (e.g., impressions havingforwarded IDs 224 indicating they correspond to original intendedrecipients) versus the total number of unexpected media impressions(e.g., impressions having forwarded IDs 224 indicating they correspondto persons other than original intended recipients) for a social mediamessage.

In some examples, at block 704, the example impression logger 208tallies the number of impressions according to the different deviceidentifiers (e.g., the device identifier 220 of FIG. 2). In suchexamples, the effectiveness of the media campaign can be based on acomparison, at block 706, of the total number of unique deviceidentifiers for each social media message. In addition, the deviceidentifiers may be used to determine whether a client device thatrequested the example message (Message_Q) 320 is more likely or lesslikely to request another social media message in the same mediacampaign.

In some examples, at block 704, the example impression logger 208tallies the number of impressions according to timestamps (e.g., thetimestamps 216 of FIG. 2) appended with the impressions data. In suchexamples, a comparison, at block 706, of the number of impressions forthe social media messages during different timestamp ranges indicatesthe effectiveness of the different social media messages throughout theday. For example, certain social media messages may be requested duringthe early morning hours. Additionally or alternatively, social mediamessages conveyed by a certain message sender may generate more mediarequests during the early morning hours. Thus, it may be beneficial fora purveyor of goods or services that caters to early morning customersto form an agreement with the message sender.

In some examples, at block 704, the example impression logger 208tallies the number of impressions according to a campaign ID (e.g., thecampaign ID 218 of FIG. 2) or a URL (e.g., any of the URLs 118, 304,306, 308, 310, 312, 330, 332, 334, 348, 350, 352 of FIG. 3). Forexample, the total number of impressions logged for the social mediamessages included in media campaign is tallied. In such examples, acomparison, at block 706, of the total numbers across previous mediacampaigns may be used to determine the effectiveness of certain mediacampaigns over others. For example, the effectiveness of a mediacampaign may be determined based on a comparison of the number ofimpressions logged from the media campaign divided by the amount ofmoney (e.g., number of dollars) spent on the media campaign. This datamay be further analyzed to determine, for example, which message senderswere more effective relative to the amount of money paid to the messagesender.

At block 708 of FIG. 7, the results are prepared in a report andcommunicated to the requesting sponsor. The example process 700 of FIG.7 then ends.

FIG. 9 is another example communication flow diagram to monitorimpressions of social media messages in the example environment 100 ofFIG. 1. Similar to the example illustrated in FIG. 5, a sponsor (e.g.,the example sponsor 502 of FIG. 5) enters into an agreement with amessage sender (e.g., the example sender (Celebrity_D) 504 of FIGS. 3and 5) to send social media messages (e.g., the example message(Message_X) 114 a, the example message (Message_Y) 316 and the examplemessage (Message_Z) 318). Pursuant to the agreement, a list of users(e.g., the example Celebrity_D followers list 505) who follow theexample sender 504 is stored by the example AME server 102 in theexample storage device 210 of FIGS. 2, 4 and 5. In the illustratedexample, the example sender (Celebrity_D) 504 sends the example message(Message_X) 114 a, the example message (Message_Y) 316 and the examplemessage (Message_Z) 318, which are received, stored/hosted anddistributed by the example message hosting server 104.

In the illustrated example, the social media message 114 a is sent fromthe message hosting server 104 to the example client device 106 withoutthe image (Image_(—)1) 112, but instead includes an automaticallyactivatable link to the image 112. In the illustrated example of FIG. 9,the example message hosting server 104 sends to the client device 106the example message (Message_X) 114 a including an example mediaplaceholder 902 including the example URL (URL_X) 118. In response toaccessing the message (Message_X) 114 a, the client device 106 sends anexample media request 904 addressed to the example URL (URL_X) 118. Inthe illustrated example, the media request 904 includes a useridentifier 514 of the user of the client device 106.

In the illustrated example, the external interface 202 of FIG. 2receives the media request 904 from the client device 106 requesting theimage 112 to be presented with the social media message 114 a. Asdescribed above in connection to FIGS. 2, 4 and 5, the social messagetracker 200 identifies images and social media messages corresponding tothe URLs to which media requests are addressed. For example, the socialmessage tracker 200 may use the example data structure 300 of FIG. 3 todetermine a requested image and a social media message corresponding toa URL to which the received media request 904 was addressed. Forexample, the social message tracker 200 looks up the correspondingsocial media message (Message_X) 114 a for the URL (URL_X) 118. As aresult, the social message tracker 200 credits the message 114 a with alogged impression by, for example, incrementing a corresponding counter(e.g., one of the counters 208 of FIG. 2). In this manner, the AMEserver 102 collects or logs impressions of social media messages.

In the illustrated example, the social message tracker 200 also stores aforwarded ID 224 in the entry for the impression to the social mediamessage (Message_X) 114 a to indicate that the logged impression is anexpected media impression as determined by the handle analyzer 214 ofFIG. 2. For example, the handle analyzer 214 may receive informationfrom the URL analyzer 204 indicating that the message sender of themessage (Message_X) 114 a is the sender (Celebrity_D) 504. In addition,the example handle analyzer 214 receives a user identifier (e.g., theuser identifier 514) from the URL analyzer 204. In the illustratedexample, the handle analyzer 214 compares the user identifier 514 to theuser identities stored in the Celebrity_D followers list 505. Becausethe user identifier 514 is listed in the Celebrity_D followers list 505of FIG. 9, the handle analyzer 214 indicates to the example impressionlogger 208 that the impression credited for a social media messagecorresponding to the example media request 904 is an expected mediaimpression (e.g., an unearned media impression). In some examples, theimpression logger 208 may store a flag with the user identifier 514indicating that the user associated with the user identifier 514 hasbeen exposed to the social media message 114 b. As a result, the examplesocial message tracker 200 may report the number of unique impressionsto the social media message (Message_X) 114 b to, for example, thesponsor 502.

In the illustrated example, the user associated with the user identifier514 decides to forward the social media message (Message_X) 114 b. Thatis, the user associated with the user identifier 514 sends the examplemessage 114 to the example message hosting server 104, thereby enablingfollowers of the user identifier 514 to read the social media message114. In the illustrated example, at least some followers of the useridentifier 514 are not followers of the celebrity sender 504.

In the illustrated example, the user associated with the user identifier516 is a follower of the user associated with the user identifier 514.In the illustrated example, when the user associated with the useridentifier 514 forwards the message 114 b to his/her followers via theclient device 106, the example message hosting server 104 sends to theclient device 107 the example social media message 114 a including anexample media placeholder 902 that includes the example URL (URL_X) 118.In response to accessing the example social media message 114 a, theclient device 107 sends an example media request 908 addressed to theexample URL 118. In the illustrated example, the message request 908includes a user identifier 516 associated with a user of the clientdevice 107. In the illustrated example, the media request 908 isdirected to the example AME server 102 to request the image (Image_(—)1)112. Using a similar process as described above, the example socialmessage tracker 200 looks up the corresponding social media message(Message_X) 114 a for the URL (URL_X) 118 and credits the examplemessage 114 a with a corresponding impression by, for example,incrementing a corresponding counter (e.g., one of the counters 208 ofFIG. 2).

In the illustrated example of FIG. 9, the social message tracker 200also stores a forwarded ID 224 in the entry for the impression to thesocial media message (Message_X) 114 a to indicate the impression as anunexpected media impression as determined by the handle analyzer 214 ofFIG. 2. For example, the handle analyzer 214 receives information fromthe URL analyzer 204 indicating that the message sender of the message(Message_X) 114 a is the sender (Celebrity_D) 504. In addition, theexample handle analyzer 214 receives a user identifier (e.g., the useridentifier 516) from the URL analyzer 204. In the illustrated example,the handle analyzer 214 compares the user identifier 516 to the useridentifiers stored in the Celebrity_D followers list 505. In theillustrated example, the user identifier 516 does not match any useridentifier stored in the Celebrity_D followers list 505. As a result,the handle analyzer 214 sends information to the example impressionlogger 208 indicating that the impression credited for the social mediamessage corresponding to the example media request 908 is an unexpectedmedia impression (e.g., an earned media impression). In this manner, theexample social message tracker 200 monitors the total impressions andhow many of the total impressions were earned media impressions (e.g.,paid for media impressions). While the illustrated example describes asocial media message forwarded one time, it is also possible for thesocial media message to be forwarded any number of times. For example,the user associated with the user identifier 516 may also decide toforward (e.g., re-retweet, re-re-convey, etc.) the social media message(Message_X) 114 b. As a result, one social media message may beforwarded multiple times. In such examples, the social message tracker200 may use techniques disclosed herein to determine whether animpression credited for a social media message forwarded one or moretimes is an unexpected media impression or an expected media impression.

FIG. 10 is a flow diagram representative of an example method that maybe implemented in connection with the communications flow diagram ofFIG. 9 to determine whether an impression is an expected mediaimpression or an unexpected media impression. The program of FIG. 10begins at block 1002 at which the example external interface 202 (FIG.2) receives a media request. For example, the external interface 202receives a media request (e.g., the example media request 904, 908 ofFIG. 9) sent by a client device (e.g., the example client device 106,107 of FIG. 9) to the example AME server 102 (FIG. 9) at the example URL118 requesting the example image 112 (FIG. 9). In the illustratedexample, the example media request includes a user identifier (e.g., theexample user identifier 514, 516 of FIG. 9) corresponding to the userutilizing the client device. For example, a user signs into a messagingservice using the user identifier 514 to access social media messagesconveyed by other users or to convey a social media message.

At block 1004, the social message tracker 200 credits a social mediamessage corresponding to the URL 118 with an impression. For example,the example URL analyzer 204 identifies the example message 114 a basedon the URL 118 using the data structure 300 (FIG. 3), and informs theexample impression logger 208 (FIG. 2) to credit the message 114 a withan impression. In some examples, the impression logger 208 logs an entrywhen crediting (or logging) a social media message with an impression.In some such examples, the impression logger 208 may add additionalinformation to the entry. For example, the impression logger 208 maystore a timestamp, a user identifier and/or device identifier includedin the media request, and/or any other information that may provideadditional information regarding the impression.

At block 1006, the social message tracker 200 determines a messagesender corresponding to the social media message credited with theimpression. For example, the URL analyzer 204 looks up the messagesender (e.g., the example sender (Celebrity_D) 504) based on the socialmedia message credited with the impression using the data structure 300.In some examples, the handle analyzer 214 (FIG. 2) may look up themessage sender using the data structure 300 based on the URL 118 of themedia request.

At block 1008, the example social media tracker 200 compares the useridentifier to a list of followers subscribed to receive social mediamessages sent by the message sender. For example, using the identifiedexample message sender 504, the handle analyzer 214 retrieves theexample Celebrity_D followers list 505 from the storage device 210 (FIG.2). The handle analyzer 214 compares the user identifier received fromthe media request to user identifiers in the Celebrity_D followers list505. At block 1010, if the user identifier (e.g., the example useridentifier 514) matches a user identifier listed in the Celebrity_Dfollowers list 505, the handle analyzer 214 determines that theimpression corresponds to an expected media impression and controladvances to block 1012. For example, the media request 904 correspondsto accessing the social media message 114 b conveyed by the sponsoredmessage sender (Celebrity_D) 504. At block 1012, the handle analyzer 214sends information to the impression logger 208 indicating that theimpression is an expected media impression. The impression logger 208stores a forwarded ID 224 (FIG. 2) in the impression entry indicatingthat the impression is an expected media impression (or an unearnedmedia impression) in the impression entry.

Returning to block 1010, if the user identifier (e.g., the example useridentifier 516) does not match a user identifier listed in theCelebrity_D followers list 505, the handle analyzer 214 determines thatthe impression corresponds to an unexpected media impression and controladvances to block 1016. For example, the media request 908 correspondsto accessing the social media message 114 b conveyed by a subscriberrecipient of the original message sender (e.g., the example messagesender (Celebrity_D) 504). At block 1016, the handle analyzer 214 sendsinformation to the impression logger 208 indicating that the impressionis an unexpected media impression. The impression logger 208 stores inthe impression entry a forwarded ID 224 indicating that the impressionis an unexpected media impression (or an unearned media impression).

After block 1012 or after block 1016, control advances to block 1014. Atblock 1014, the social message tracker 200 determines whether there isanother media request to process. For example, the example URL analyzer204 determines whether there is another media request stored in theexample message queue 212 (FIG. 2). If the example URL analyzer 204determines there is another media request in the message queue 212,control returns to block 1004. If the example URL analyzer 204determines there is not another URL in the message queue, the exampleprocess 1000 ends.

FIG. 11 is a block diagram of an example processor platform 1100 capableof executing the instructions of FIGS. 6, 7 and 10 to implement thesocial message tracker 200 of FIG. 2. The processor platform 1100 canbe, for example, a server, a personal computer, an Internet appliance,or any other type of computing device.

The processor platform 1100 of the illustrated example includes aprocessor 1112. The processor 1112 of the illustrated example ishardware. For example, the processor 1112 can be implemented by one ormore integrated circuits, logic circuits, microprocessors or controllersfrom any desired family or manufacturer.

The processor 1112 of the illustrated example includes a local memory1113 (e.g., a cache). The processor 1112 of the illustrated example isin communication with a main memory including a volatile memory 1114 anda non-volatile memory 1116 via a bus 1118. The volatile memory 1114 maybe implemented by Synchronous Dynamic Random Access Memory (SDRAM),Dynamic Random Access Memory (DRAM), RAMBUS Dynamic Random Access Memory(RDRAM) and/or any other type of random access memory device. Thenon-volatile memory 1116 may be implemented by flash memory and/or anyother desired type of memory device. Access to the main memory 1114,1116 is controlled by a memory controller.

The processor platform 1100 of the illustrated example also includes aninterface circuit 1120. The interface circuit 1120 may be implemented byany type of interface standard, such as an Ethernet interface, auniversal serial bus (USB), and/or a PCI express interface.

In the illustrated example, one or more input devices 1122 are connectedto the interface circuit 1120. The input device(s) 1122 permit a user toenter data and commands into the processor 1112. The input device(s) canbe implemented by, for example, a keyboard, a mouse, a touchscreen, atrack-pad, a trackball, isopoint and/or a voice recognition system.

One or more output devices 1124 are also connected to the interfacecircuit 1120 of the illustrated example. The output devices 1124 can beimplemented, for example, by display devices (e.g., a liquid crystaldisplay, a cathode ray tube display (CRT), a touchscreen, a tactileoutput device, a printer and/or speakers). The interface circuit 1120 ofthe illustrated example, thus, typically includes a graphics drivercard.

The interface circuit 1120 of the illustrated example also includes acommunication device such as a transmitter, a receiver, a transceiver, amodem and/or network interface card to facilitate exchange of data withexternal machines (e.g., computing devices of any kind) via a network1126 (e.g., an Ethernet connection, a digital subscriber line (DSL), atelephone line, coaxial cable, a cellular telephone system, etc.).

The processor platform 1100 of the illustrated example also includes oneor more mass storage devices 1128 for storing software and/or data.Examples of such mass storage devices 1128 include floppy disk drives,hard drive disks, compact disk drives, Blu-ray disk drives, RAIDsystems, and digital versatile disk (DVD) drives. The mass storagedevice 1128 may implement a local storage device.

The coded instructions 1132 of FIGS. 6, 7 and 10 may be stored in themass storage device 1128, in the volatile memory 1114, in thenon-volatile memory 1116, and/or on a removable tangible computerreadable storage medium such as a CD or DVD.

From the foregoing, it will appreciate that the above disclosed methods,apparatus and articles of manufacture enable monitoring exposures toadvertisements delivered via social media message and provide a vehiclefor detecting the effectiveness of such messages and/or the provider ofsuch messages.

Although certain example methods, apparatus and articles of manufacturehave been described herein, the scope of coverage of this patent is notlimited thereto. On the contrary, this patent covers all methods,apparatus and articles of manufacture fairly falling within the scope ofthe claims of this patent.

What is claimed is:
 1. A method to log impressions of social mediamessages comprising: receiving at a server a request for media, therequest addressed to a uniform resource locator, the requestcorresponding to a social media message to be presented with the media,and the request including a user identifier; crediting the social mediamessage with an impression based on the request being addressed to theuniform resource locator; and identifying that the impressioncorresponds to an original intended recipient of the social mediamessage based on the user identifier matching a second user identifierstored in a list of subscribers that subscribe to receive messages froman original sender of the social media message.
 2. A method as definedin claim 1, further comprising, after receiving the request, sending themedia to a requesting device having the social media message.
 3. Amethod as defined in claim 2, further comprising setting a cookie in thedevice.
 4. A method as defined in claim 3, further comprising mappingdemographic information to the cookie.
 5. A method as defined in claim1, further comprising identifying the media based on a filename in theuniform resource locator.
 6. A method as defined in claim 1, wherein asponsor of the social media message provides the uniform resourcelocator to the original sender for locating in the social media message.7. A method as defined in claim 1, wherein a plurality of uniformresource locators correspond to the media.
 8. A method as defined inclaim 7, wherein the plurality of uniform resource locatorscorresponding to the media are assigned to a sponsor of the social mediamessage.
 9. A method as defined in claim 7, wherein the sponsor providesthe plurality of uniform resource locators to the original sender forlocating in different social media messages sent by the original sender.10. An apparatus to log impressions of social media messages comprising:an interface to receive a request for media, the request addressed to auniform resource locator; an impression logger to log an impression of asocial media message corresponding to the request for the media based onthe uniform resource locator; a handle analyzer to compare a useridentifier in the request to second user identifiers in a list ofsubscribers that subscribe to receive messages from an original senderof the social media message; and the impression logger to indicate theimpression as corresponding to an original intended recipient based onthe user identifier matching one of the second user identifiers.
 11. Anapparatus as defined in claim 10, further comprising a uniform resourcelocator analyzer to select the media based on a filename in the uniformresource locator.
 12. An apparatus as defined in claim 10, wherein theuniform resource locator analyzer is to determine the original sendercorresponding to the social media message based on the uniform resourcelocator.
 13. An apparatus as defined in claim 10, wherein the interfaceis to send the media to a requesting device.
 14. An apparatus as definedin claim 10, wherein the impression logger is to store a timestamp withthe impression indicative of when the request was received by theinterface.
 15. A tangible computer readable storage medium comprisinginstructions that, when executed, cause a machine to at least: receive arequest for media, the request addressed to a uniform resource locator,and the request corresponding to a social media message to be presentedwith the media; credit the social media message with an impression basedon the request being addressed to the uniform resource locator; andidentify that the impression corresponds to an original intendedrecipient of the social media message based on the user identifiermatching a second user identifier stored in a list of subscribers thatsubscribe to receive messages from an original sender of the socialmedia message.
 16. A tangible computer readable storage medium asdefined in claim 15, the instructions to cause the machine to determinea message sender corresponding to the social media message.
 17. Atangible computer readable storage medium as defined in claim 15, theinstructions to cause the machine to, when the request is received, sendthe media to a requesting device having the social media message.
 18. Atangible computer readable storage medium as defined in claim 15, theinstructions to cause the machine to identify the media based on afilename in the uniform resource locator.
 19. A tangible computerreadable storage medium as defined in claim 15, the instructions tocause the machine to store a timestamp with the impression, thetimestamp indicative of when the request was received.
 20. A method tolog impressions of social media messages comprising: generating at aserver a uniform resource locator associated with media to present witha social media message; providing the uniform resource locator forsending in the social media message by a message sender; receiving atthe server a request for the media, the request addressed to the uniformresource locator, and the request including a user identifier; creditingthe social media message with an impression based on the request beingaddressed to the uniform resource locator; and identifying that theimpression corresponds to an original intended recipient of the socialmedia message based on the user identifier matching a second useridentifier stored in a list of subscribers that subscribe to receivemessages from an original sender of the social media message.
 21. Amethod as defined in claim 20, further comprising locating the uniformresource locator in the social media message.
 22. A method as defined inclaim 21, wherein providing the uniform resource locator comprisesproviding the uniform resource locator in the social media message to besent by the original sender to subscribers in the list of subscribers.23. A method as defined in claim 20, wherein the original sender locatesthe uniform resource locator in the social media message.
 24. A methodas defined in claim 20, further comprising providing the uniformresource locator to a sponsor, and instructing the sponsor to providethe uniform resource locator to the original sender.